<?php
/**
 * WebSMS gateway
 * 
 * @author Alexey Strelnikoff <zog@zoggi.net>
 */

namespace Sbm\WebSMS;

use Sbm;

/**
 * Класс для отправки SMS используя шлюз websms
 * 
 * @link http://websms.ru/docs/Send_by_HTTP_HTTPS_ver13.pdf
 */
class Gateway extends Sbm\AbstractGateway
{

	/**
	 * URL для отправки сообщений
	 * @var string
	 */
	private $inUrl = "http://www.websms.ru/http_in5.asp";

	/**
	 * URL для получнеия результатов доставки сообщений
	 * @var string
	 */
	private $checkUrl = "http://www.websms.ru/http_out5.asp";

	/**
	 * Имя пользователя websms
	 * @var string
	 */
	private $username = '';

	/**
	 * Пароль пользователя websms
	 * @var string
	 */
	private $password = '';

	/**
	 * Исходящий номер, который будет виден получателям SMS
	 * 
	 * @internal Имена необходимо предварительно резервировать в личном кабинете в 
	 * «Персональных настройках» - «Имя отправителя».
	 * 
	 * @var string
	 */
	private $from = '79033800626';

	public function __construct()
	{
		;
	}

	/**
	 * Отправляет ообщение $message на список номеров $phones
	 * 
	 * @param array $phones Массив номеров
	 * @param string $message Текст сообщения
	 * 
	 * @return string Ответ как он получен от websms
	 */
	public function send( $phones, $message )
	{
		if ( is_string($phones) )
		{
			$phones = array_filter(explode(",", $phones));
		}
		$params = array(
			'http_username' => $this->username,
			'http_password' => $this->password,
			'phone_list' => implode(",", $phones),
			'message' => $message,
			'format' => 'txt',
			'fromPhone' => $this->from
		);
		// отправляем запрос и получаем ответ в $response
		$response = $this->sendHTTP($this->inUrl, $params);
		return $response;
	}

	/**
	 * Парсит ответ от websms и возвращает результат
	 * 
	 * @param string $string Ответ от websms
	 * @return array
	 */
	public static function parseResult( $string )
	{
		return parse_ini_string($string, true);
	}

	public function check( $packetId )
	{
		
	}

}
